﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MuYue.Plugin
{
    /// <summary>
    /// 插件属性
    /// </summary>
    [AttributeUsage(AttributeTargets.Class)]
    public class PluginAttribute : Attribute
    {
        #region 插件信息
        /// <summary>
        /// 插件版本信息
        /// </summary>
        public string PluginVersion { set; get; }

        /// <summary>
        /// 插件展示名
        /// </summary>
        public string DisplayName { set; get; }

        /// <summary>
        /// 插件识别符
        /// </summary>
        public string Identify { set; get; }

        /// <summary>
        /// 插件的Guid
        /// </summary>
        public string Id { set; get; }

        /// <summary>
        /// 插件接口的名字
        /// </summary>
        public string PluginInterfaceName { set; get; }

        /// <summary>
        /// 类路径
        /// </summary>
        public string PluginDllPath { set; get; }

        /// <summary>
        /// 启动策略
        /// </summary>
        public InitPolicy StartPolicy { set; get; }

        /// <summary>
        /// 加载的时候对dll进行初始化操作的类
        /// </summary>
        public string Activator { set; get; }
        #endregion
    }
}
